//
//  BaseViewController.h
//  QA
//
//  Created by Yoga on 2017/4/19.
//  Copyright © 2017年 ZDQK. All rights reserved.
//

#import <UIKit/UIKit.h>

typedef void(^AlertActionClick)(NSString *actionTitle);

@interface BaseViewController : UIViewController{
    CGRect _keyboardBenginFrame;
    CGRect _keyboardEndFrame;
    NSTimeInterval _keyboardAnimationDuration;
    
}

@property (nonatomic, strong) UIAlertController *alertC;
@property (nonatomic, copy) AlertActionClick alertBlock;

- (void)keyboardWillShow:(NSNotification *)notification;
- (void)keyboardWillHide:(NSNotification *)notification;
- (void)keyboardDidShow:(NSNotification *)notification;

/**
 是否隐藏navbar黑线

 @param isHidden 是否隐藏
 */
- (void)hiddenShadowImage:(BOOL)isHidden;

/**
 *  设置navBar全透明
 */
- (void)setNavigationBarAlpha:(CGFloat)alpha animation:(BOOL)animation;

/**
 设置statusBar样式

 @param style 样式
 @param animated 是否有动画
 */
- (void)setStatusBarStyle:(UIStatusBarStyle)style animated:(BOOL)animated;

/**
 *  @breif 显示back button
 */
- (void)showBackButtonItem;

/**
 *  返回上级页面
 */
- (void)disMissSelf;

/**
 返回到首页
 */
- (void)popToRootViewController;

/**
 登录后返回首页
 */
- (void)popToRoot;

/**
 *  显示alert 参数message
 */
- (void)showAlertMessage:(NSString *)message;

/**
 自定义type的alert

 @param buttonTitleArray 按钮标题数组
 @param title 提示title
 @param message 提示message
 @param alertStyle 样式(alert/sheet)
 */
- (void)showAlertWithTitleArray:(NSArray *)buttonTitleArray title:(NSString *)title message:(NSString *)message alertStyle:(UIAlertControllerStyle)alertStyle;

/**
 带textField的Alert

 @param buttonTitleArray 按钮标题数组
 @param title 提示框title
 */
- (void)showAlertTextFieldWithTitleArray:(NSArray *)buttonTitleArray title:(NSString *)title;

/**
 点击图片原位置放大
 
 @param view 点击的view
 @param index 点击的imageView的image在数组中的index
 @param urls 图片数组
 */
- (void)showPicture:(UIView *)view index:(NSInteger)index urls:(NSArray *)urls;

/**
 iOS11 设置便宜

 @param tableView tableView
 */
- (void)settingTableViewAdjustment:(UITableView *)tableView;

/**
 分享WeChat
 
 @param imgs 图片url数组（NSString *）
 @param goodsDescription 描述
 @param gid 商品id
 */
- (void)showShareAlert:(NSMutableArray <NSString *> *)imgs withGoodsDescription:(NSString *)goodsDescription withGid:(NSString *)gid;
/**
 分享WeChat
 
 @param imgs 图片url数组（UIImage *）
 @param goodsDescription 描述
 @param gid 商品id
 */
- (void)showShareAlertWithImages:(NSMutableArray <UIImage *> *)imgs withGoodsDescription:(NSString *)goodsDescription withGid:(NSString *)gid;


/**
 获取标题栏+状态栏高度
 
 @return 高度
 */
- (CGFloat)getNavAndStatusHeight;
- (CGFloat)getStatusHeight;
- (CGFloat)getNavHeight;


/**
 隐藏导航栏背景色
 */
- (void)hideNavigationController;

/**
 上传单张图片

 @param image 上传的图片image
 @param success 成功回调返回图片url
 */
- (void)uploadImage:(UIImage *)image success:(void (^)(NSString *imageUrl))success;

/**
 跳转七鱼客服聊天
 */
- (void)goToServiceChat;

/**
 判断是否登录，未登录跳转登录页
 
 @return BOOL
 */
- (BOOL)checkLogin;

/**
 是否开放大众金融

 @return BOOL
 */
- (BOOL)checkOpen;

@end
